# 合并购物车
import json

from django_redis import get_redis_connection

from meiduo_mall.utils.cookiesecret import CookieSecret


def merge_cart_cookie_to_redis(request, response):
    # 1.获取cookie的 购物车数据
    cookie_str = request.COOKIES.get('carts')

    carts_redis_client = get_redis_connection('carts')
    # 2.解密
    if cookie_str:
        carts_dict = CookieSecret.loads(cookie_str)
        # 3. 覆盖 redis中的购物车数据  hset #  遍历 cookie的 购物车数据数据
        for sku_id in carts_dict:
            #  hset
            carts_redis_client.hset(request.user.id,sku_id, json.dumps(carts_dict[sku_id]))

    # 4. 清空cookie的数据  carts
    response.delete_cookie('carts')